﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;



namespace BoletoElectronicoDesktop.AbmClientes
{
    public partial class FormAltaClientes : Form
    {
        public FormAltaClientes()
        {
            InitializeComponent();
        }
        
        private void FormAltaClientes_Load(object sender, EventArgs e)
        {
            //abro el formulario maximizado
            this.WindowState = FormWindowState.Maximized;

           //cargo las provincias en el ComboBox
            DataTable provincias = ProvinciaDAO.ObtenerProvincias();
            cbProvincia.DataSource = provincias;
            cbProvincia.DisplayMember = "ProvinciaNombre";
            cbProvincia.ValueMember = "ProvinciaId";
            cbProvincia.Text = "";

            //cargo los DNIs en el ComboBox 
            DataTable dnis = ClienteDAO.ObtenerDnis();
            cbDni.DataSource = dnis;
            cbDni.DisplayMember = "DocDescripcion";
            cbDni.ValueMember = "DocId";
            cbDni.Text = "";
            

           
            

        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            //limpio los textbox
            txtApellido.Text = "";
            txtNombre.Text = "";
            txtDni.Text = "";
            txtTelefono.Text = "";
            txtCalle.Text = "";
            txtNumero.Text = "";
            txtPiso.Text = "";
            txtDepto.Text = "";
            txtMail.Text = "";
            cbDni.Text = "";
            cbProvincia.Text = "";
            
        }

        private void btnAlta_Click(object sender, EventArgs e)
        {
            bool continuar = true;
            string tipoDni = cbDni.SelectedValue.ToString();

            //valido que ningún campo obligatorio no esté completo
            if ((txtNombre.Text == "") || (txtApellido.Text == "") || (txtDni.Text == "") || (txtMail.Text == "") || (txtTelefono.Text == "") || (txtCalle.Text == "") || (txtNumero.Text == ""))
            {
                MessageBox.Show("Complete todos los campos obligatorios", "Información");
                continuar = false;
            }
            //si están todos los campos completos, procedo a hacer el Alta
            if (continuar)
            {
                //Comprobamos que el cliente no exista
                
                int existe = ClienteDAO.ExisteCliente(tipoDni,txtDni.Text);
                if (existe != 0)
                {
                    MessageBox.Show("El DNI del cliente que desea ingresar ya existe");

                }
                else //el cliente no existe => lo puedo insertar
                {
                    ClienteDAO.InsertarCliente(txtApellido.Text, txtNombre.Text, tipoDni,  txtDni.Text, txtMail.Text ,txtTelefono.Text,txtCalle.Text ,txtNumero.Text,txtPiso.Text,txtDepto.Text, cbProvincia.SelectedValue.ToString());
                    MessageBox.Show("Cliente agregado con éxito");
                    
                    //limpio los textbox
                    txtApellido.Text = "";
                    txtNombre.Text = "";
                    txtDni.Text = "";
                    txtTelefono.Text = "";
                    txtCalle.Text = "";
                    txtNumero.Text = "";
                    txtPiso.Text = "";
                    txtDepto.Text = "";
                    txtMail.Text = "";
                }
            }

        }
        private void txtNombre_KeyPress(object sender, KeyPressEventArgs e)
        {
            //valido que un nombre esté compuesto por letras solamente
            Funciones.validarTexto(e);
        }

        private void txtApellido_KeyPress(object sender, KeyPressEventArgs e)
        {
            //valido que un apellido esté compuesto por letras solamente
            Funciones.validarTexto(e);
        }

        private void txtDni_KeyPress(object sender, KeyPressEventArgs e)
        {
            //valido que un dni esté compuesto por numeros solamente
            Funciones.validarNumero(e);
        }

        private void txtTelefono_KeyPress(object sender, KeyPressEventArgs e)
        {
            //valido que un telefono esté compuesto por numeros solamente
            Funciones.validarNumero(e);
        }

        private void txtNumero_KeyPress(object sender, KeyPressEventArgs e)
        {
            //valido que un numero de una dir esté compuesto por numeros solamente
            Funciones.validarNumero(e);
        }

        private void txtTipoDni_KeyPress(object sender, KeyPressEventArgs e)
        {
            Funciones.validarNumero(e);
        }

        private void cbProvincia_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void txtPiso_KeyPress(object sender, KeyPressEventArgs e)
        {
            Funciones.validarNumero(e);
        }

     










  





    }
}
